#模块

#就是.py文件，里面定义了一些函数和变量，需要的时候就可以导入这些模块。
#执行步骤：
'''
1.在python模块加载路径中查找相应的模块文件
2.将模块文件编译成中间代码
3.执行模块文件中的代码
'''
#模块的好处：提高可维护性，可重复使用，避免函数名和变量名冲突。


#模块分类：
'''
1.内置模块：time、 random、 re (标准库)
2.第三方模块：通过包管理工具pip安装
3.自定义模块：模块名要遵循python变量命名规范，不要使用中文、特殊字符。
'''
#1.内置模块
'''
import builtins
print(dir(builtins))  #查看内置函数
'''

#2.库    第三方模块
#安装： pip install 模块名


#3.自定义模块


#模块的使用
#import 模块名
#步骤：
'''
1)创建模块（文件）---自定义模块
2)导入模块 import 模块名
3)使用模块里的内容时（变量名、函数名、类名等）--- 模块名.函数名
'''

#导入模块的名称比较长时，可以取别名
import add as t  
print(t.s)
print('\n')


#导入多个模块
'''
import os
import sys
import json
'''

#from 模块名 import 函数名1（或属性）,函数名2（或属性）
from add import funa
funa()
print('\n')
#from …… import *  (*表示将所有导入)



#from import 与 import 的区别
import random   #推荐使用此方法
print(random.randint(1,5))   #取1-5随机整数
#相同的效果如下：
from random import randint
print(randint(1,5))


#导入模块的同时会将原模块对应的.py文件进行执行，包括书写的运行代码。

#过滤执行代码方式：if __name__ == '__main__'

#py文件的两种功能
'''
1.脚本：一个文件就是整个程序，直接运行
__name__ =='__main__' 表示代码是直接在当前文件里运行
2.模块：作为模块导入其他文件执行
#作为模块导入时，__name__ == 模块名 （没有后缀）
'''









